package com.example.demo.common;

import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.text.TextContentRenderer;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: lishuo
 * Date: 2023-09-16
 * Time: 18:59
 */
public class Convert {
    // markdown 纯文本转换方法
    public static String convert(String markdown) {
        if (markdown == null || markdown.isEmpty()) {
            return "";
        }

        // 创建 Markdown 解析器
        Parser parser = Parser.builder().build();

        // 解析 Markdown 内容并生成 AST（抽象语法树）
        Node document = parser.parse(markdown);

        // 创建纯文本渲染器，并禁用生成的纯文本中的空行
        TextContentRenderer textRenderer = TextContentRenderer.builder()
                .stripNewlines(true)
                .build();

        // 渲染 AST 并以纯文本格式输出
        return textRenderer.render(document);
    }
}
